package cn.dujy.derby.service.dto;

import cn.dujy.mybatis.service.dto.BaseDTO;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import cn.dujy.mybatis.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 *  DTO
 * </p>
 *
 * @author 杜家源
 * @since 2023-12-06
 */
    @Data
        @EqualsAndHashCode(callSuper = true)
    @Accessors(chain = true)
    @TableName("contest")
    @ApiModel(value = "ContestDTO对象", description = "Contest的DTO对象")
public class ContestDTO extends BaseDTO implements Serializable {

        private static final long serialVersionUID = 1L;

    /**
     * 赛事名称，例如：东京优骏
     */
        @ApiModelProperty(value = "赛事名称，例如：东京优骏")
    @TableField("name")
        private String name;

    /**
     * 赛事别名，例如：东京优骏（日本德比）
     */
        @ApiModelProperty(value = "赛事别名，例如：东京优骏（日本德比）")
    @TableField("alias")
        private String alias;

    /**
     * 赛事图标地址
     */
        @ApiModelProperty(value = "赛事图标地址")
    @TableField("icon")
        private String icon;

    /**
     * 年份，例如：1（最大9年）
     */
        @ApiModelProperty(value = "年份，例如：1（最大9年）")
    @TableField("year")
        private String year;

    /**
     * 月份，例如：7（最大99月）
     */
        @ApiModelProperty(value = "月份，例如：7（最大99月）")
    @TableField("month")
        private String month;

    /**
     * 月份，例如：前、后
     */
        @ApiModelProperty(value = "月份，例如：前、后")
    @TableField("around")
        private String around;

    /**
     * 赛事等级，例如：G1、G2等
     */
        @ApiModelProperty(value = "赛事等级，例如：G1、G2等")
    @TableField("level")
        private String level;

    /**
     * 赛场，例如：东京，中京等
     */
        @ApiModelProperty(value = "赛场，例如：东京，中京等")
    @TableField("arena")
        private String arena;

    /**
     * 场地类型，例如：草地、泥地等
     */
        @ApiModelProperty(value = "场地类型，例如：草地、泥地等")
    @TableField("site_type")
        private String siteType;

    /**
     * 赛事距离，例如：1000米（短距离）
     */
        @ApiModelProperty(value = "赛事距离，例如：1000米（短距离）")
    @TableField("distance")
        private String distance;

    /**
     * 方向，例如：顺、逆
     */
        @ApiModelProperty(value = "方向，例如：顺、逆")
    @TableField("direction")
        private String direction;

    /**
     * 优胜粉丝数（最大99999名）
     */
        @ApiModelProperty(value = "优胜粉丝数（最大99999名）")
    @TableField("win_fans")
        private Integer winFans;

    /**
     * 参赛所需粉丝数（最大999999名）
     */
        @ApiModelProperty(value = "参赛所需粉丝数（最大999999名）")
    @TableField("required_fans")
        private Integer requiredFans;

    /**
     * 备注
     */
        @ApiModelProperty(value = "备注")
    @TableField("notes")
        private String notes;

    /**
     * 属性
     */
        @ApiModelProperty(value = "属性")
    @TableField("attribute")
        private String attribute;
}
